Zynthian SystemD Startup

Zynthian systemD startup
When playing with a Zynthian never forget this is all just Linux underneath. And at the moment ( October 2021) that means you are going to be using Systemd, the latest in several methods of starting up a system. It seems to do things reasonably quietly and primarily revolves around unit file which are chunks of start up procedure with dependencies on other services right back to bare metal.

You have two primary ways of interacting
 * systemctl
 * journalctl

systemctl
This command line tool allows maintenance of the systemd environment allowing you to stop, start and extract a status from the running services that SystemD is managing.

Just typing systemctl on the command line. Gives us over a hundred running services..

and as with most things in linux it's left up to you to strip out the good stuff using word filters like grep and a unix pipe. ..



As you can see the -all option shows services in all states, and indeed you can ask systemctl to give up far more information using the status command on a specific service.

Shows us the status of various zynthian services. Notice they all very kindly tell you where these unit files are located. ..


 * Loaded: loaded (/etc/systemd/system/zynthian-webconf.service; enabled; vendor preset: enabled)
 * Loaded: loaded (/etc/systemd/system/zynthian.service; enabled; vendor preset: enabled)
 * Loaded: loaded (/etc/systemd/system/zynthian-config-on-boot.service; enabled; vendor preset: enabled)

The first two services zynthian & zynthian-webconf are both running whilst zynthian-config-on-boot has done it's thing about 2 days ago. . . Active: inactive (dead) since Wed 2021-10-13 10:52:30 BST; 2 days ago.

and here are the files:

Things to notice:

Config-On-Boot Service

 * It occurs before the jack2 service. So zynthian is really just a big jack2 engine :-)
 * It's a one time fire
 * /zynthian/zynthian-sys/sbin/config-on-boot.sh then does the actual setup.

Zynthian Webconf

 * /zynthian/zynthian-webconf/zynthian_webconf.sh runs it.
 * It's completely independent of other zynthian services.
 * It will always restarts after five seconds of being killed.

Zynthian

 * Zynthian won't run without jack
 * /usr/bin/startx ./zynthian.sh runs it.
 * There is a similar restart directive as with webconf.

So remember normal kill -9 and such tricks will simply result in zynthian, or zynthian-webconf just restarting.

If you do want to stop them for ritualistic disembowelment on a desk, then use systemctl with stop and start.

systemctl stop zynthian

and to restart

systemctl start zynthian